import java.util.Deque;
import java.util.LinkedList;
import java.util.Queue;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: fzykd
 * Date: 2022-04-13
 * Time: 17:12
 */
public class TestDemo {
    public static void main(String[] args) {
        MyCircularQueue myCircularQueue = new MyCircularQueue(5);
        myCircularQueue.offer(12);
        myCircularQueue.offer(23);
        myCircularQueue.offer(34);
        myCircularQueue.offer(45);
        myCircularQueue.offer(56);
        myCircularQueue.poll();
        myCircularQueue.poll();
        myCircularQueue.poll();
        myCircularQueue.poll();
        myCircularQueue.poll();

        myCircularQueue.tail(); // 获取队尾元素
        myCircularQueue.peek();// 获取对头元素


    }


    public static void main3(String[] args) {
        MyQueue myQueue = new MyQueue();
        myQueue.add(1);
        myQueue.add(2);
        myQueue.add(3);
        myQueue.add(4);
        myQueue.remove(); // 出队
        System.out.println(myQueue.element());
        myQueue.add(10);
        System.out.println(myQueue.element()); // 返回队首元素
    }


    public static void main2(String[] args) { // 双端队列
        Deque<Integer> deque = new LinkedList<>(); // 无论头进尾进 都是先进先出
        deque.addLast(10);
        deque.add(1);
        deque.offer(2);
        deque.remove();
        System.out.println(deque.peek());

    }

    public static void main1(String[] args) {  // 普通队列
        Queue<Integer> queue = new LinkedList<>();
        queue.offer(2);
        queue.offer(3);
        queue.add(4); // 入队
        queue.remove();
        queue.poll(); //出队
        System.out.println(queue.peek()); // 队首元素
    }
}
